package com.galaxy.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.galaxy.common.mybatis.core.page.PageQuery;
import com.galaxy.common.mybatis.core.page.TableDataInfo;
import com.galaxy.user.domain.UserAccount;
import com.galaxy.user.domain.bo.UserAccountBo;
import com.galaxy.user.domain.vo.UserAccountVo;

import java.math.BigDecimal;
import java.util.List;

public interface UserAccountService extends IService<UserAccount> {
    /**
     * 查询用户账户信息列表
     */
    TableDataInfo<UserAccountVo> queryPageList(UserAccountBo bo, PageQuery pageQuery);

    /**
     * 查询用户账户信息列表
     */
    List<UserAccountVo> queryList(UserAccountBo bo);

    /**
     * 查询用户账户信息
     */
    UserAccount queryById(Long id);


    /**
     * 查询用户账户信息
     */
    UserAccount getInfoByUserId(Long id);

    /**
     * 新增用户账户信息
     */
    Boolean insertByBo(UserAccountBo bo);

    /**
     * 修改用户账户信息
     */
    Boolean updateByBo(UserAccountBo bo);

    Boolean updateAvatar(Long userId, Integer points);

    Boolean updateBalance(Long userId, BigDecimal balance);

    Boolean updateBalance1(Long userId, BigDecimal balance);

    Boolean updatePoints(Long userId, Integer points);

    /**
     * 校验并批量删除用户账户信息
     */
    Boolean deleteWithValidByIds(List<Long> ids, Boolean isValid);
}
